Static এবং Non-static Methods

Computer Programming - এপেক্স (Apex) Apex মেথডস (Apex Methods) |
256
256

Apex-এ Static এবং Non-static Methods প্রোগ্রামিংয়ে গুরুত্বপূর্ণ ভূমিকা পালন করে। এই মেথডগুলো একটি ক্লাসের মধ্যে বিভিন্নভাবে ব্যবহার করা হয় এবং তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে। নিচে Static এবং Non-static Methods নিয়ে বিস্তারিত আলোচনা করা হলো।


Static Method

Static Method হলো এমন একটি মেথড, যা ক্লাসের ইনস্ট্যান্স বা অবজেক্ট তৈরি না করেই সরাসরি ক্লাসের মাধ্যমে অ্যাক্সেস করা যায়। Static মেথডের জন্য static কিওয়ার্ড ব্যবহার করতে হয়।

Static Method এর বৈশিষ্ট্য:

  1. Direct Access: ক্লাসের মাধ্যমে সরাসরি অ্যাক্সেস করা যায়, অবজেক্ট তৈরি করতে হয় না।
  2. Shared Across Instances: Static মেথড ক্লাসের সকল ইনস্ট্যান্সের জন্য শেয়ার করা হয়।
  3. Instance Variables Access: Static মেথড সরাসরি নন-স্ট্যাটিক বা ইনস্ট্যান্স ভেরিয়েবল অ্যাক্সেস করতে পারে না, তবে শুধুমাত্র Static ভেরিয়েবল ব্যবহার করতে পারে।

Static Method এর উদাহরণ:

public class MathOperations {
    // Static method
    public static Integer add(Integer a, Integer b) {
        return a + b;
    }
}

// Static method কল করা
Integer sum = MathOperations.add(5, 10);
System.debug('Sum: ' + sum); // Output: Sum: 15
  • এখানে add মেথডটি Static, তাই এটি MathOperations ক্লাসের ইনস্ট্যান্স তৈরি না করেই সরাসরি ক্লাসের মাধ্যমে কল করা হয়েছে।

Non-static Method

Non-static Method হলো এমন একটি মেথড, যা ক্লাসের অবজেক্ট তৈরি করে তারপর কল করতে হয়। Non-static মেথডের জন্য static কিওয়ার্ড ব্যবহার করতে হয় না।

Non-static Method এর বৈশিষ্ট্য:

  1. Instance Access Required: Non-static মেথড কল করার জন্য ক্লাসের একটি অবজেক্ট তৈরি করতে হয়।
  2. Instance Variables Access: Non-static মেথড ক্লাসের ইনস্ট্যান্স ভেরিয়েবল এবং অন্য Non-static মেথড সরাসরি অ্যাক্সেস করতে পারে।
  3. Unique for Each Instance: Non-static মেথড প্রতিটি ইনস্ট্যান্সের জন্য আলাদা থাকে।

Non-static Method এর উদাহরণ:

public class MathOperations {
    // Non-static method
    public Integer multiply(Integer a, Integer b) {
        return a * b;
    }
}

// Non-static method কল করা
MathOperations mathOp = new MathOperations();
Integer product = mathOp.multiply(5, 10);
System.debug('Product: ' + product); // Output: Product: 50
  • এখানে multiply মেথডটি Non-static, তাই এটি কল করতে MathOperations ক্লাসের একটি অবজেক্ট mathOp তৈরি করা হয়েছে।

Static এবং Non-static Methods এর মধ্যে পার্থক্য

বৈশিষ্ট্যStatic MethodNon-static Method
অ্যাক্সেস পদ্ধতিসরাসরি ক্লাসের মাধ্যমে কল করা যায়অবজেক্ট তৈরি করে কল করতে হয়
শেয়ারিংক্লাসের সব ইনস্ট্যান্সে শেয়ার করা হয়প্রতিটি ইনস্ট্যান্সে আলাদা
অ্যাক্সেসStatic ভেরিয়েবল এবং Static মেথড অ্যাক্সেস করতে পারেNon-static ভেরিয়েবল এবং মেথড অ্যাক্সেস করতে পারে
প্রয়োজনীয়তাসাধারণত যেখানে অবজেক্টের প্রয়োজন হয় নাযেখানে অবজেক্টের নির্দিষ্ট ডেটার প্রয়োজন

উদাহরণ: Static এবং Non-static Method এর সংমিশ্রণ

নিচের উদাহরণে MathOperations ক্লাসে একটি Static মেথড এবং একটি Non-static মেথড সংযুক্ত করা হয়েছে, যেখানে বিভিন্ন গণিত অপারেশন সম্পন্ন করা হয়েছে।

public class MathOperations {
    // Static method
    public static Integer add(Integer a, Integer b) {
        return a + b;
    }

    // Non-static method
    public Integer subtract(Integer a, Integer b) {
        return a - b;
    }
}

// Static method কল করা
Integer sum = MathOperations.add(20, 10); // সরাসরি কল করা হয়েছে
System.debug('Sum: ' + sum); // Output: Sum: 30

// Non-static method কল করা
MathOperations mathOp = new MathOperations();
Integer difference = mathOp.subtract(20, 10); // অবজেক্ট তৈরি করে কল করা হয়েছে
System.debug('Difference: ' + difference); // Output: Difference: 10
  • Static Method add: ক্লাসের নামের মাধ্যমে সরাসরি কল করা হয়েছে।
  • Non-static Method subtract: অবজেক্ট mathOp তৈরি করে কল করা হয়েছে।

কখন Static Method এবং Non-static Method ব্যবহার করবেন?

Static Method ব্যবহার করবেন যখন:

  • মেথডটি কোনো নির্দিষ্ট অবজেক্টের ডেটার উপর নির্ভর করে না।
  • মেথডটি ক্লাস-লেভেলের কার্যক্রম পরিচালনা করে।
  • সাধারণ ইউটিলিটি ফাংশন বা গণিত ফাংশন তৈরি করতে চান, যেমন add, multiply, ইত্যাদি।

Non-static Method ব্যবহার করবেন যখন:

  • মেথডটি ক্লাসের নির্দিষ্ট ডেটা বা ইনস্ট্যান্সের উপর নির্ভর করে।
  • মেথডটি অবজেক্টের ডেটার উপর নির্দিষ্ট কার্যক্রম সম্পন্ন করে।
  • কোনো ক্লাসের ইনস্ট্যান্স ভিত্তিক কাজ সম্পন্ন করতে চান, যেমন displayInfo, calculateTotal ইত্যাদি।

সংক্ষেপে:

  • Static Method সরাসরি ক্লাসের মাধ্যমে অ্যাক্সেসযোগ্য এবং সাধারণত ইউটিলিটি ফাংশন হিসেবে ব্যবহৃত হয়।
  • Non-static Method নির্দিষ্ট অবজেক্টের উপর নির্ভরশীল এবং প্রতিটি ইনস্ট্যান্সের জন্য আলাদা থাকে।

এইভাবে, Apex-এ Static এবং Non-static Method ব্যবহার করে কার্যকরী ও সুসংগঠিত কোডিং করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion